perm filename NODE[0,BGB]1 blob sn#116876 filedate 1974-08-30 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00007 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	{P131W0,1260,0,1900⊂CαADDENDA.λ30JUFA}
C00005 00003	{I125,0FC}UNIVERSE NODE-2 FORMAT{JUFAλ15}
C00008 00004	{I125,0}CAMERA NODE-4 FORMAT{JUFAλ15}
C00011 00005	{I125,0}WINDOW NODE-6 FORMAT{JUFAλ15}
C00014 00006	{I125,0}BODY NODE-14 FORMAT{JUFAλ15}
C00017 00007	{I125,0}EDGE NODE-16 FORMAT{JUFAλ15}
C00020 ENDMK
C⊗;
{P131;W0,1260,0,1900;⊂C;αADDENDA.;λ30;JUFA}
⊂11.2	GEOMED Node Formats.⊃

	The  latest (June  1974),   public  implementation of  GEOMED
distinguishes sixteen different node formats at the user level: Tram,
Empty, Universe,  Sun,  Camera, World,  Window, Image,  Text,  Xnode,
Ynode, Znode, Body, Face, Edge and  Vertex. Of the sixteen nodes, five
are  unimplemented, open  ended or  trivial  and  so  will  not be
exhibited: Empty, Text,   Xnode,   Ynode and Znode.   The empty  node
contains all  zeroes except for a  one in the status word  and a free
list pointer in the PFACE field.  The Text nodes were implemented  in
1973 by Tovar Mock and  were taken out. The X, Y and Z  nodes are
used  for  miscellaneous things  such  as beads,  one-word  atoms and
inertia tensors. Field names printed in capital  letters indicate that the
contents of that field  have one standard intrepretation;  lower case
field names  are temporary intrepretations. The machine  address of a
node points to word zero of the format diagrams.

{λ19;JAFC;T166,307,434,650;H3;
I1025,0;}TRAM NODE-0 FORMAT{JUFA;λ15;}
	The tram node, explained in Section 3.3, represents both
Cartesian coordinate systems and Euclidean transformation. Although
the status bits contain data, TRAM nodes are can be distinguished from
other nodes because bits 0 and 9 are either different or the word is all
zeroes in the PDP-10 floating number format.
{I1200,0;↓;JAFC;λ19;I∂310,∂340;B260,300,50;↑}
-3		XWC		Location of TRAM origin
-2		YWC		or Vector of TRAM translation.
-1		ZWC
 0		IX		X-axis unit vector
 1		IY		  or 3 by 3 rotation matrix.
 2		IZ
 3		JX		Y-axis unit vector
 4		JY
 5		JZ
 6		KX		Z-axis unit vector
 7		KY
 8		KZ
{I125,0;FC}UNIVERSE NODE-2 FORMAT{JUFA;λ15;}
	The Universe node is the unique root of the data structure
and represents the universe of discourse. Directly accessible from
the universe node are the free storage list, the world ring and
the display ring. The world ring and display rings are headless so
two pointers are kept one indicating a "now" entity and the other
indicating the "first" made entity.
{I300,0;↓JAFC;λ19;
I∂310,∂340;B260,300,50;
I∂-100,∂0;V∂50,∂0;
I∂100,∂0;V∂50,∂0;
I∂100,∂0;V∂50,∂0;↑}
-3
-2
-1
 0	      STATUS BITS
 1			AVAIL	Free Storage List of Nodes.
 2
 3
 4	NWRLD		PWRLD	Now World, First World.
 5
 6
 7	NDPY		PDPY	Now Display Ring, First Display Ring.
 8

{I1025,0;JAFC;}SUN NODE-3 FORMAT{JUFA;λ15;}
	The sun node represents a very distant point light source.
The sun belongs to a ring of suns that belongs to a world, although
handling of multiple light sources is quite premature.
The location and orientation of the sun is carried by a TRAM pointed
to by the TRAM field.
{I1200,0;↓JAFC;λ19;I∂310,∂340;B260,300,50;
I∂50,∂0;V∂150,∂0;
I∂50,∂0;V∂50,∂0;↑}
-3
-2
-1
 0	      STATUS BITS
 1
 2
 3
 4			PWRLD	World containing this sun.
 5	BRO		SIS	Ring of Suns.
 6	alt		TRAM	Location/Orientation of Sun.
 7
 8	nlnk		plnk	User links.
{I125,0;}CAMERA NODE-4 FORMAT{JUFA;λ15;}
	The camera node contains the scale constants of projection,
the physical pixel size, PDX and PDY; the logical image size, LDX and LDY;
and the focal plane distance FOCAL.
{I300,0;↓JAFC;λ19;I∂310,∂340;B260,300,50;
I∂-100,∂0;V∂100,∂0;
I∂50,∂0;V∂250,∂0;↑}
-3	scalex = -focal/pdx			Perspective Projection Scales.
-2	scaley = -focal/pdy
-1	scalez = -focal/pdz
 0	      STATUS BITS
 1	PDX		LDX	Physical Pixel Size
 2	PDY		LDY	  and Logical image size.
 3		FOCAL		Focal Plane distance.
 4			PWRLD	World of Camera.
 5	BRO		SIS	Camera Ring.
 6	alt		TRAM	Camera location/orientation.
 7	SIMAG		PIMAG	Simulated and Perceived Image Rings.
 8	nlnk		plnk	User links.

{I1025,0;JAFC;}WORLD NODE-5 FORMAT{JUFA;λ15;}
	The world node has a ring of bodies, a ring of cameras,
and  a ring  of suns  which  comprise the  totality of  existence for
image simulation. One world is  the reality world  whose
cameras  correspond  to  actual   video  hardware  and  whoes  bodies
correspond  to the physical objects actually  in the proximity of the
cameras. Other worlds are  fantasy worlds for planning and learning.
{I1200,0;↓JAFC;λ19;I∂310,∂340;B260,300,50;
I∂-100,∂0;V∂400,∂0;↑}
-3	      time and date			Simulated World Time.
-2		PNAME1		Print Name of World.
-1		PNAME2
 0	      STATUS BITS
 1	nface		pface	Potentially visible face list.
 2	ned		ped	Potentially visible edge list.
 3
 4	NCAMR		PCAMR	Now camera and First camera.
 5	BRO		SIS	World Ring.
 6	NSUN		TRAM	Sun Ring and World Coordinates.
 7	CW		CCW	Head links of Body Ring of World.
 8	nlnk		plnk	User links.
{I125,0;}WINDOW NODE-6 FORMAT{JUFA;λ15;}
	The display window node represents a  mapping from a camera's
image  coordinates  (source  image)  to  a  display  device's  screen
coordinates (object  image).  Window mappings  can be  composed.  The
mapped  window is  clipped  to a  border  XL, XH,  YL,  YH in  object
coordinates  after being dilated  by the scale factor  MAG.
The windows are organized into a 
ring of displays which each consists of a ring of windows.
{I340,0;↓JAFC;λ19;I∂310,∂340;B260,300,50;
I∂-100,∂0;V∂400,∂0;↑}
-3	SX		SY	Locus of center of Source Image.
-2	OX		OY	Locus of center of Object Image.
-1		MAG		Magnification of Window Mapping.
 0	      STATUS BITS
 1	XL		XH	Object Image Clipping Border.
 2	YL		YH
 3
 4	NCAMR			Now Camera of Window.
 5	BRO		SIS	Window ring of a display.
 6
 7	CW		CCW	Display ring of window rings.
 8	nlnk		plnk	User Links.

{I1025,0;JAFC;}IMAGE NODE-7 FORMAT{JUFA;λ15;}
	Image nodes represent either perceived contour images created
by input from CRE or simulated mosiac images created by the hidden
line eliminator, OCCULT. Like a world, images carry a list of bodies
and a time representing when the image was taken.
Image nodes also carry a pointer to a copy of the camera and
sun under which they were made.
{I1200,0;↓JAFC;λ19;I∂310,∂340;B260,300,50;I∂50,∂0;V∂250,∂0;↑}
-3
-2		PNAME1		Corresponding Video image file name.
-1		PNAME2
 0	      STATUS BITS
 1
 2
 3
 4	NCAMR		PWRLD	Camera Copy and World of this image.
 5	NTIME		PTIME	Image ring links to form a film.
 6	ALT			Corresponding image.
 7	CW		CCW	Head links of image body ring.
 8	nlnk		plnk	User Links.
{I125,0;}BODY NODE-14 FORMAT{JUFA;λ15;}
	The body node is the head of the face, edge and vertex rings
which use word 1, 2, and 3. The body node carries a parts tree structure
in word 4 and 5. There is a print name of up to ten characters carried
in words -2 an -1. The links of the eighth word are always left free
for linkage to user data structures.
{I300,0;↓JAFC;λ19;I∂310,∂340;B260,300,50;
I∂-100,∂0;V∂400,∂0;↑}
-3			free
-2		PNAME1		Ten character print name.
-1		PNAME2
 0	      STATUS BITS
 1	NFACE		PFACE	Face ring.
 2	NED		PED	Edge ring.
 3	NVT		PVT	Vertex ring.
 4	DAD		SON	Parts Tree links: up and down tree.
 5	BRO		SIS	Parts Tree links: ring of siblings.
 6	alt		TRAM	Body coordinate system TRAM.
 7	CW		CCW	Body ring of world.
 8	nlnk		plnk	User links.

{I1025,0;JAFC;}FACE NODE-15 FORMAT{JUFA;λ15;}
	The face node carries a normalized face normal vector in AA, BB, and
CC; the negative distance of the face plane from the orgin, KK;
photometric parameters are kept in words 4, 5 and 7.
{I1200,0;↓JAFC;λ19;I∂310,∂340;B260,300,50;
I∂-100,∂0;V∂100,∂0;
I∂150,∂0;V∂50,∂0;
I∂50,∂0;V∂50,∂0;↑}
-3		AA		Face plane normal vector.
-2		BB
-1		CC
 0	      STATUS BITS
 1	NFACE		PFACE	Face ring of a body.
 2	Ncnt		PED	Edge count and first edge.
 3		KK		Distance of face plane from origin.
 4	red  grn  blu  wht			Reflectivities under four filters.
 5   	Lr Lg Lb Lb Sm Sn			Luminosities and Spectral constants.
 6	alt		alt2	Temporaries.
 7		QQ		Video Intensity under four filters.
 8	nlnk		plnk	User Links.
{I125,0;}EDGE NODE-16 FORMAT{JUFA;λ15;}
	The important fields of the winged edge node are explained in
Chapter  2.   The  negative  three  words  are   used  for  2-D  edge
coefficients and  for clipped display  coordinates of  the edge.  The
alt, alt2  and cw field are  used as temporary fields  in OCCULT, BIN
and  so on. The CCW field points at  body of edge and expedites BGET.
The nlnk and plnk fields are kept empty for developmental work.
{I300,0;↓JAFC;λ19;I∂310,∂340;B260,300,50;I∂-100,∂0;V∂400,∂0;↑}
-3	x1dc	AA	y1dc	Clipped Display Coordinates or
-2	x2dc	BB	y2dc	2-D Edge Coefficients or
-1		CC		3-D line Cosines.
 0	      STATUS BITS
 1	NFACE		PFACE	Two faces of the edge.
 2	NED		PED	Edge ring of the body.
 3	NVT		PVT	Two vertices of the edge.
 4	NCW		PCW	Wings: neighboring edges in PFACE and
 5	NCCW		PCCW	Neighboring edges in NFACE.
 6	alt		alt2	Temporaries.
 7	cw		ccw	Temporary and Body Link.
 8	nlnk		plnk	User links. 

{I1025,0;JAFC;}VERTEX NODE-17 FORMAT{JUFA;λ15;}
	The vertex node carries a point's locus in three coordinate systems:
world coordinates, perspective projected coordinates and display
coordinates. The first edge of a vertex perimeter is contained in
the PED field. The alt, alt2, cw, ccw and Tjoint fields are used as temporaries.
{I1200,0;↓JAFC;λ19;I∂310,∂340;B260,300,50;
I∂-100,∂0;V∂150,∂0;I∂150,∂0;V∂100,∂0;↑}
-3		XWC		World Locus
-2		YWC
-1		ZWC
 0	      STATUS BITS
 1	XDC		YDC	Display Screen Locus.
 2	Tjoint		PED	Temporary and First Edge.
 3	NVT		PVT	Vertex ring of the body.
 4		XPP		Perspective Projected Locus.
 5		YPP
 6	alt	ZPP	alt2	...also used for temporaries.
 7	cw		ccw	temporaries.
 8	nlnk		plnk	User links.